package org.wheel.plugins.starter.jdbc.pool.util.yml;

import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import org.springframework.core.io.ClassPathResource;

import java.util.Properties;

/**
 * YAML配置合并工具类
 */
public class YamlMergeUtils {


    // 直接使用 LogFactory 创建日志对象，Hutool 会自动检测项目中的日志框架（优先级：Slf4j > Log4j > Logback > JDK Logging）
    private static final Log log = LogFactory.get();
    /**
     * 检查配置文件是否存在
     */
    public static boolean configFileExists(String configFile) {
        return new ClassPathResource(configFile).exists();
    }

    /**
     * 打印配置摘要（用于调试）
     */
    public static void printConfigSummary(Properties config, String title) {
        log.info("=== {} ===", title);
        log.info("总配置项数: {}", config.size());

        // 打印关键配置项
        String[] keyPrefixes = {"spring.", "system."};

        for (String prefix : keyPrefixes) {
            config.stringPropertyNames().stream()
                    .filter(key -> key.startsWith(prefix))
                    .forEach(key -> log.info("{} = {}", key, config.getProperty(key)));
        }
    }
    /**
     * 清理配置键（移除多余的空格等）
     */
    public static String normalizeConfigKey(String key) {
        return key != null ? key.trim() : "";
    }
}